ERC1644 -Controller Token Operation Standard
まとめ
強制移転が必要になる場合があるのでそれに対処
法律的な要請、移転が失敗した場合、保有者が秘密鍵を無くした場合 等
第三者が強制的に資産を動かすので、透明性と明確な基準とが要請される
Tomato.icon<トークン規格上では定められていないので各プラットフォーマーが設定する必要有
内容
function contorollerTransfer:強制執行を表す関数
Input:
address _from:トークン原保有者
address _to:トークン送付者
uint256 _value:総量
bytes _data:送金認証情報を載せたデータ
bytes _operatorData:認証されたオペレータ情報
Tomato.icon<なんでoperator認証の部分だけはERC1644ではなくECR1410で定められているの?
Return:
特に規格無し:
function controllerRedeem:強制償還の関数
Input:
address _tokenHolder, uint256 _value, bytes _data, bytes _operatorData
Return:
function controllerTransferと同様
function isControllable: 強制執行の可能性がトークンにあるかどうかをチェックする関数
Input: 規格無し
Return: bool
条件については規格無し
これがfalseだった場合にはfunction controllerTransfer, function controllerRedeemはrevert去れるような設定でなければならない
インターフェース
code:ERC1644(javascript)
/// @title IERC1644 Controller Token Operation (part of the ERC1400 Security Token Standards)
interface IERC1644 is IERC20 {
// Controller Operation
function isControllable() external view returns (bool);
function controllerTransfer(address _from, address _to, uint256 _value, bytes _data, bytes _operatorData) external;
function controllerRedeem(address _tokenHolder, uint256 _value, bytes _data, bytes _operatorData) external;
// Controller Events
event ControllerTransfer(
address _controller,
address indexed _from,
address indexed _to,
uint256 _value,
bytes _data,
bytes _operatorData
);
event ControllerRedemption(
address _controller,
address indexed _tokenHolder,
uint256 _value,
bytes _data,
bytes _operatorData
);
}
Source